<?php
declare (strict_types=1);

namespace app\admin\model\user;

use app\common\model\BaseModel;

/**
 * 定义用户数据模型
 */
class Group extends BaseModel
{
    /**
     * 表名
     *
     * @var string
     */
    protected $name = 'admin_user_group';

    /**
     * 设置自动写入时间
     *
     * @var boolean
     */
    protected $autoWriteTimestamp = true;
    /**
     * 无需创建时间
     *
     * @var boolean
     */
    protected $createTime = false;

    /**
     * 定义字段类型
     *
     * @var array
     */
    protected $type = [
        'id'        => 'integer',
        'rule_list' => 'array',
    ];

    public function scopeFieldTitle($query)
    {
        $query->field('id,title');
    }

    /**
     * 全局查询范围
     *
     * @var [type]
     */
    protected $globalScope = ['mhm'];

    /**
     * 限制机构条件
     * Author   Martinsun<syh@sunyonghong.com>
     * Date 2020-06-16
     *
     * @param    [type]                         $query [description]
     * @return   [type]                                [description]
     */
    public function scopeMhm($query)
    {
        // 如果不是平台时, 加入机构条件限制
        // if (!request()->is_platform) {
        $query->where('mhm_id', request()->mhm_id);
        // }
    }

    /**
     * 新增数据事件
     * Author   Martinsun<syh@sunyonghong.com>
     * Date 2020-03-14
     *
     * @return   string
     */
    public static function onBeforeInsert($group)
    {
        // 机构
        $group->mhm_id = $group->getAttr('mhm_id') ?: request()->mhm_id;
    }
}
